#ifndef __CCCC_MOD_MODULE_TREE_H
#define __CCCC_MOD_MODULE_TREE_H

#include "cccc_mod_abs_tree.h"
#include "cccc_mod_atom.h"
#include "cccc_mod_sinfile.h"
#include <stdio.h>

class ModuleTreeNode: public AbstractTreeNode {
private:

	ModularAtomic * module;
public:
	vector<SingleFile *> files;
	ModuleTreeNode();
	ModuleTreeNode(string name);
	~ModuleTreeNode();

	void addFile(SingleFile * file);
	vector<SingleFile *> getFiles();
	SingleFile * getFileByName(string name);
	SingleFile * getFileAt(int idx);
	ModuleTreeNode * getChildModuleByName(string name);
	void setModule(ModularAtomic * module);
	ModularAtomic * getModule();
	//void addChild(AbstractTreeNode * node);
};

#endif

